/**
 * 版权所有 2009-2012山东新北洋信息技术股份有限公司
 * 保留所有权利。
 */
package com.linyaonan.leetcode.easy._852;

/**
 *
 * 我们把符合下列属性的数组 A 称作山脉：
 *
 * A.length >= 3
 * 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
 * 给定一个确定为山脉的数组，返回任何满足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 的 i 的值。
 *
 *  
 *
 * 示例 1：
 *
 * 输入：[0,1,0]
 * 输出：1
 * 示例 2：
 *
 * 输入：[0,2,1,0]
 * 输出：1
 *  
 *
 * 提示：
 *
 * 3 <= A.length <= 10000
 * 0 <= A[i] <= 10^6
 * A 是如上定义的山脉
 *
 *
 * @ProjectName: leetcode
 * @Package: com.linyaonan.leetcode.easy._852
 * @ClassName: PeakIndex
 * @Author: linyaonan
 * @Date: 2020/1/6 16:28
 */
public class PeakIndex {

    public int peakIndexInMountainArray(int[] A) {
        int maxIndex = 0;
        int max = A[0];
        for (int i = 1; i < A.length; i++) {
            if (A[i] < max) {
                return maxIndex;
            }
            if (max < A[i]) {
                max = A[i];
                maxIndex = i;
            }
        }
        return maxIndex;
    }
}
